Hybrid Set Top Boxes (STBs) have started recently to penetrate the television (TV) market. As is well-known in the art, hybrid STBs allow the aggregation of traditional TV broadcasts with video that is delivered by both managed (e.g., cable, satellite, xDSL) and unmanaged (e.g., the Internet) networks. To accomplish this, hybrid STBs are designed to provide access to multiple access network types.
Hybrid STBs have allowed subscribers to create new consumer-focused TV experiences; however, they also create problems. Particularly, hybrid STBs and the networks to which they connect have allowed providers to significantly increase the number of channels in the channel lineup. Although such an increase in the choice of programs is beneficial, the sheer volume of content often overwhelms the subscribers. Therefore, subscribers generally rely on some well-known methods to manage the amount of content.
In a first method, subscribers typically employ a channel position programming function, in which the content providers assign certain channels and content to specific, sequential channel groupings. With this method, subscribers can skip over large portions of a channel lineup so that they can quickly and easily view only the content they consider interesting. However, because the channel groupings do not change often, this type of ordering technique is not entirely beneficial. For example, because subscribers are able skip over large portions of a channel lineup, they could miss a chance to view a program that they may find interesting. Additionally, content providers can potentially lose revenue opportunities from targeted advertisements on channels that the subscriber skips over. Further, although the channel lineup is mostly static, it will change from time-to-time. When it does change, subscribers must learn the new channel groupings, which can be time-consuming and, at times, frustrating.
Another method of organizing and managing the overwhelming content is by using the search function associated with an Electronic Program Guide (EPG). With these search functions, a subscriber can input the name or genre of a program, for example, to determine when content related to that input will be available for viewing. However, searching through the EPG is not very efficient. Such searches are typically keyword-based, which means that programs can only be located in an EPG if a description of the content includes the keywords entered by the subscriber. Thus, an EPG search function is useful, but only if the subscriber already knows the title (or a part of the title) of the program, or some other specific information about the program. It is not very useful where a channel lineup changes dynamically, or where the search is based on a subscriber's preferences in terms of type of content.
One way to search through a large number of channels based on content is by performing a semantic search. Semantic searching is an area of research currently being promoted due to the interest in the Semantic Web or Web 3.0. As known in the art, the Semantic Web is an effort to convert the unstructured documents that currently form the web (e.g., web pages) into a web of related data based on one or more related concepts between documents.
Methods and functions facilitating a semantic search generally calculate the similarity between objects by focusing on the relationships that exist between artifacts (i.e., concepts, words, phrases, signs, and/or symbols) in the information and data associated with the objects. Although there are a variety of techniques available for computing the semantic similarity of two objects, most semantic functions typically rely on one or more knowledge sources to provide evidence of the similarity of the artifacts.
For example, semantics may be automatically inferred from information distribution of terms in a given corpus (i.e., a body of words or sentences, assumed to be representative of, and used for, lexical, grammatical, or other linguistic analysis) without requiring input from a subscriber. Additionally or alternatively, the semantics may be based on an ontology (i.e., a formal description or specification of the concepts and relationships that can exist between two or more objects). In some cases, semantic functions may combine the knowledge provided by an ontology with the information content (i.e., a measure of the amount of information provided by a given term from its computed probability of appearance in a corpus) of the concepts that are being compared.
Semantics may also be inferred from a semantic graph. With semantic graphs, the nodes of the graph may represent concepts, while the links between nodes indicate the “semantic interrelations” that exist between the nodes. In these cases, semantics may not rely on a corpus related to any particular domain.
Although useful, each of these traditional channel handling methods can be problematic. For example, the channel position programming and EPG search methodologies, as stated above, are not well-suited to the dynamic nature of the content delivered to the subscriber when multiple information feeds are available. Subscribers will often skip over one or more subsets of channels to find one particularly desired program, and generally do not receive recommendations for specific content. Consider, for example, a search for a movie based on rating, which may be graphically illustrated using one or more stars. Particularly, the attribute(s) that are searched on (i.e., the stars) provide semantic information indicating whether a critic that reviewed the movie liked the movie. Star rate searches can be used for some content, such as movies, but can not be used for all types of content (e.g., news or music programs). Therefore, the information available in the EPG may be insufficient for performing at least some searches.
Semantic searches and semantic clustering on the other hand, offer much more flexibility. With semantic clustering, content that is semantically similar is grouped or clustered into one or more corresponding groups. However, known methods that are used to calculate the semantic similarities between two natural language objects have multiple drawbacks that make such methods unsuitable to an application that supports a dynamic channel lineup.
For example, unsupervised semantic clustering requires the definition of a classification measure that directly influences the size of the semantic cluster. Usually, a clustering algorithm controls which programs get added to the semantic cluster; however, the algorithm generally cannot be adapted to consider the personal preferences of a subscriber because the clustering algorithm does not employ feedback information provided by the subscriber. Further, semantic classification usually occurs before the subscriber has a chance to provide input.
Ontology-based clustering requires the existence of a TV content ontology. Besides the fact that such ontology is not generally available, not every TV program can be defined in the terms of an ontology in real time (e.g. news programs). Such information may include, but is not limited to, subscriber-provided feedback regarding a program and/or a channel that is being watched by the subscriber.
Finally, semantic graphs can be easily generated from EPG data. However, like unsupervised semantic clustering, there is generally no way to capture the personal preferences of the subscriber since the graph is generated by analyzing the semantic interrelations between the elements of the input natural language within a predetermined EPG description.